import time
import sys
import json
import io
# 设置sys.stdout的编码为UTF-8
sys.stdout.reconfigure(encoding='utf-8')
# 创建一个新的输出流，并设置编码为UTF-8
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
# 将 当且路径 添加到path中
sys.path.append(r'.')
from DrissionPage import ChromiumPage
from DrissionPage._pages.chromium_tab import ChromiumTab

def load_param_datas_from_file(file_path):
    with open(file_path, "r", encoding='utf-8') as f:
        # json_file_datas = json.loads(f.read())    # load的传入参数为字符串类型
        json_file_datas = json.load(f)  # load的传入参数为字符串类型
        return json_file_datas


def item_upload_taobao():
    json_data = load_param_datas_from_file('item_upload_taobao.data.json')
    itemBean = json_data['itemBean']
    port = json_data['port']
    url = json_data['url']
    page = ChromiumPage(addr_or_opts='127.0.0.1:' + str(port))
    tab = page.new_tab()  # 新建标签页，获取标签页对象
    tab.get(url)
    # 等待页面加载
    tab.wait.doc_loaded()
    import utils.down_cat_prop_util
    utils.down_cat_prop_util.cat_prop(tab,itemBean)
    if True:
        return
    # 基础信息 : 标题 参数 (材质)
    import utils.base_card_util
    utils.base_card_util.base_card(tab, itemBean)

    # 销售信息: 尺码, 颜色 价格
    import utils.sale_card_util
    utils.sale_card_util.sale_card(tab, itemBean)

    # 销售信息: 尺码, 颜色 价格
    import utils.desc_card_util
    utils.desc_card_util.update_zt_xq_image(tab, itemBean)

    # 关闭窗口
    # tab.close()


item_upload_taobao()
